package cn.com.bluemoon.daps.model.dto;

import cn.com.bluemoon.daps.common.validation.illegal.IllegalChar;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;

@Data
public class ContrastFieldInfoDto {

    @ApiModelProperty(value = "字段名称")
    private String fieldName;

    @ApiModelProperty(value = "字段名称是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer fieldNameIsChange = 4;

    @ApiModelProperty(value = "字段中文名")
    private String comment;

    @ApiModelProperty(value = "字段中文名是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer commentIsChange = 4;

    @ApiModelProperty(value = "数据类型")
    private String dataType;

    @ApiModelProperty(value = "数据类型是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer dataTypeIsChange = 4;

    @ApiModelProperty(value = "长度,数据类型括号里面的内容，包括字符长度、浮点精度/标度、日期精度")
    private String length;

    @ApiModelProperty(value = "长度是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer lengthIsChange = 4;

    @ApiModelProperty(value = "小数位")
    private Integer decimalLength;

    @ApiModelProperty(value = "小数位是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer decimalLengthIsChange = 4;

    @ApiModelProperty(value = "主键 0/null 为否， 1为是")
    private Integer primaryKey;

    @ApiModelProperty(value = "主键是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer primaryKeyIsChange = 4;

    @ApiModelProperty(value = "非空 0/null 为否 1为是")
    private Integer notNull;

    @ApiModelProperty(value = "非空是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer notNullIsChange = 4;

    @ApiModelProperty(value = "缺省值，针对全字段来说，有别于初始值，默认为null")
    private String defaultValue;

    @ApiModelProperty(value = "缺省值是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer defaultValueIsChange = 4;

    @ApiModelProperty(value = "自增 0/null 为否， 1为是")
    private Integer autoIncrement;

    @ApiModelProperty(value = "自增是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer autoIncrementIsChange = 4;

    @ApiModelProperty(value = "初始值,针对自增字段来说的初始值")
    private Integer autoIncrDefaultValue;

    @ApiModelProperty(value = "初始值是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer autoIncrDefaultValueIsChange = 4;

    @ApiModelProperty(value = "无符号 0/null 为否， 1为是")
    private Integer unSigned;

    @ApiModelProperty(value = "无符号是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer unSignedIsChange = 4;

    @ApiModelProperty(value = "填充零")
    private Integer zeroFill;

    @ApiModelProperty(value = "填充零是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer zeroFillIsChange = 4;

    @ApiModelProperty(value = "业务描述")
    private String businessDesc;

    @ApiModelProperty(value = "业务描述是否发生变化，1表示新增，2表示删除，3.表示变化，4表示无变化")
    private Integer businessDescIsChange = 4;

}
